# @Time    :2025/3/31 20:52
"""
1. 封装相关练习题
题目 1：私有属性与方法的使用
创建一个 BankAccount 类，包含以下内容：
一个私有属性 __balance（账户余额），初始值为 0。
一个私有方法 __check_balance，用于检查余额是否足够进行某项操作，返回布尔值。
一个公有方法 deposit，用于向账户中存款。
一个公有方法 withdraw，用于从账户中取款，取款前需要调用 __check_balance 方法检查余额是否足够

"""


class BankAccount:
    def __init__(self):
        self.__balance = 0  # 账户余额    #----------私有属性

    def __check_balance(self, momeny):  # 用于检查余额是否足够进行某项操作，返回布尔值
        return self.__balance >= momeny

    def deposit(self, momeny):  # 向账户中存款

        if momeny > 0:
            self.__balance += momeny
            print(f"成功存入{momeny}元，当前余额是{self.__balance}元")

    def withdraw(self, momeny):  # 用于从账户中取款

        if self.__check_balance(momeny):
            self.__balance -= momeny
            print(f"成功取出{momeny}元，当前余额是{self.__balance}元")
        else:
            print("余额不足，无法取钱")


mon = BankAccount()
mon.deposit(1000)  # 存钱
mon.withdraw(100)  # 取钱
mon.withdraw(199)  # 取钱
